package com.etc.controller;

import java.util.Arrays;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

import com.etc.entity.Users;

@Controller
@RequestMapping("macapi")
public class ModelAttributeController {

	// @ModelAttribute 一个功能是正常接收视图传递过来的参数
	// 将这个参数信息 作为请求范围的数据 继续传递给视图.
	@RequestMapping(value = "test1")
	public String test1(@ModelAttribute(value = "user") Users user) {
		user.setName("小二");
		// 会将user对象存放到请求范围中. 以前需要使用model的方法来存放
		return "mac/test1"; // 转发到那个目录的那个页面? /web-inf/jsp/mac/test1.jsp
	}

	// @ModelAttribute 一个功能是正常接收视图传递过来的参数
	// 将这个参数信息 作为请求范围的数据 继续传递给视图.
	@RequestMapping(value = "test2")
	@ModelAttribute(value = "users")
	public List<Users> test2() {
		Users u1 = new Users();
		u1.setId(1);
		u1.setName("小白");

		Users u2 = new Users();
		u2.setId(2);
		u2.setName("小2白");
		System.out.println("test2...");
		// Arrays.asList
		// 返回的视图资源为 /WEB-INF/jsp/macapi/test2.jsp
		return Arrays.asList(u1, u2);

	}

	// 普通方法 前 加一个 @ModelAttribute
	@ModelAttribute(value = "users")
	public void test3() {
		System.out.println("test3...");
	}

	// 普通方法 前 加一个 @ModelAttribute
	@ModelAttribute()
	public void test4() {
		System.out.println("test4...");
	}

	// 普通方法 前 加一个 @ModelAttribute
	@ModelAttribute(value = "user")
	public Users test5() {
		Users u = new Users();
		u.setName("test5");
		System.out.println("test5...");
		return u;
	}
}
